Most Unix systems use a 32-bit signed integer to represent the number of seconds since January 1st, 1970. A 32-bit variable can only store integers up to 2147483647. Once system clocks tick past this at 03:14:07 UTC on January 19, 2038, their 32-bit signed integers will overflow to -(2^31) - this is the root of the “Year 2038 problem.”
Friday, March 8, 2024This article shares a tech co-founder's struggle with anxiety and burnout, which stemmed from the intense work environment in the startup world. Neglecting mental health can take a heavy toll. To manage his anxiety better, the author set boundaries and prioritized self-care.
Measuring software engineering productivity is notoriously tough, so this author, a VP of Engineering, tracks indicators related to building an ideal engineering organization, like profitability. One useful profitability indicator is 'value-add capacity', the percentage of engineering time spent adding value for customers.
In 2012, Google embarked on a project to reformat all Bazel BUILD files, which was tough because of inconsistent formatting and a variety of developer preferences. A new tool called Buildifier, which strictly enforced a unified style, was developed to automate this process. The rollout was successful - it allowed for better code maintenance and enabled large-scale changes that were previously considered impossible.
GitHub revamped its code push handling system by transitioning from a single monolithic job to a decoupled architecture using Apache Kafka. This change involved breaking down the original large job into smaller, independent tasks based on dependencies and ownership. They improved reliability by enabling targeted retries and reduced latency by allowing parallel processing.
Dedicating 20% of engineering capacity to technical debt doesn't work as effectively as it seems. This article highlights five common traps that hinder this approach, such as creating separate backlogs for product and tech, failing to communicate the value of technical work, and diluting focus on specific initiatives. Technical work should be integrated into the product roadmap and clearly demonstrate its business value in order to actually be prioritized.
Rebecca Yi and Jordan Cutler, two Senior Web Engineers at Pinterest, share their onboarding experience, detailing the structured learning program they went through, from the first week's Pintro sessions to launching their first projects two months later. The onboarding program included a combination of company-wide engineering sessions (Basecamp) and team-specific web engineer curriculum, which covered topics like web architecture, data fetching, and performance optimization. They both found their first projects, a performance audit and a Pin video feature improvement, an impactful and valuable learning experience.